草庐IT

python - MongoDB 无效文档 : Cannot encode object

全部标签

python - dateTime 提示 XSD 验证中的空白 (lxml)

我正在尝试使用XSD验证文档,而lxml提示dateTime值中的空白(尽管它应该折叠它)。我不确定这是否是一个错误的行为,或者我是否只是在XSD中指定了错误的地方。花了一个小时尝试对此进行调试,希望其他人之前经历过类似的行为。======================================================================ERROR[0.076s]:test_exports(disqus.importer.tests.tests.SchemaValidation)----------------------------------------

python - ElementTree XPath 奇怪的行为

你好我在Python2.7中使用ElementTree(1.3)并享受XPath功能,然而,其中一个搜索结果让我感到惊讶。我的XML示例:问题一:当我使用findall获取第一个找到的元素时version="2.2.0.0"found=list(txml.findall(".//BackEnd[@version='%s']"%version))returnfoundandfound[0]orNone它什么也没找到。然而,当我更改XML文件时,BackEnd元素包含子元素,然后正确找到搜索到的元素。你遇到过这样的行为吗?我是不是做错了什么或者这是ElementTree实现中的错误?问题二

php - 如何在我的 PHP、DOM 脚本中加载多个 XML 文档?

我有两个不同的XML结构化文档,一个XSLT重命名它们的元素和节点以满足两者,另一个PHP代码将它们保存到一个新的XML文档中。这是我用于测试目的的代码,但是如何将两个或多个路径(如book1.xml和book2.xml)加载到$xml中?我知道如何$dom->load('book1.xml');load('stylesheet.xslt');//thiscontainsthecodefromabove$xproc->importStylesheet($xslt);//yourDOMorthesourceXML(copiedfromyourquestion)$xml='';$dom=n

python - 如何使用任何 xml 库替换节点的全部内容?

我正在尝试使用Python解析xml文件,但我有一些标签可能包含xml数据。例如:我想这样写CDATA标签:]]>我试过(使用lxml):a=etree.fromstring(data)foreina.findall("code"):e.text=etree.CDATA(etree.tostring(e))但是我得到:]]> 最佳答案 您的替换代码找到了元素并将其序列化为元素的新文本​​。您似乎只想包含的子元素,虽然。尝试设置e.text至CDATA(e.text)而不是序列化e的结果.

xml - 不同 XSD 文档中的 Key、KeyRef

这可能吗?比如说我有客户.xml12订单.xml13InvalidasCustomer3doesn'texistXSD(使用key和keyref)如何寻找这个(customer.xsd和orders.xsd也将是具有不同命名空间的两个不同文件),甚至可能吗?我见过的所有示例都处理单个文件。CanKeysandKeyrefsbespreadacrossmultipleXSDfiles? 最佳答案 这是不可能的。没有XML架构构造或约束适用于多个文件。 关于xml-不同XSD文档中的Key、

php - XML DOM文档优化

我有一个5MB的XML文件我正在使用以下代码获取所有节点值$dom=newDomDocument('1.0','UTF-8');if(!$dom->load($url))return;$games=$dom->getElementsByTagName("game");foreach($gamesas$game){}这需要76秒,并且有大约2000个games标签。是否有任何优化或其他解决方案来获取数据? 最佳答案 我曾经写过一篇关于loadinghugeXMLfileswithXMLReader的博客文章-你可能会用到其中的一些。不

html - 格式化 XSLT 文档以在一行中显示多个昵称

我的xml文档包含一个人的列表,这些人可以有0个或多个昵称。我在尝试在我的xslt文档中正确显示所有昵称时遇到问题。我可以使用以下命令列出所有昵称:Nickname:它的输出是这样的:Nickname:nickname1Nickname:nickname2这是一个问题,因为我想得到一个没有昵称的输出:被列出了很多次,即Nickname:nickname1,nickname2.我目前拥有的是:Nickname:,问题是:昵称将始终至少打印一次,即使昵称不存在也是如此。总是会留下一个逗号(,)。我希望有解决这两个问题的建议,我尝试使用!=""但我不确定如果一个人不包含昵称是否允许这样做。谢

python - 如何输出 XML 实体引用

我正在使用Pythonxml.etree.ElementTree输出XML。我想用实体引用输出它,这些实体引用将在解析XML时被替换。通常'&'被转义为&因为'&'用于声明实体引用。但是,我真的想写一个实体引用。例如,我想编写一个包含实体引用&manifestName;的XML文件:>>>fromxml.etree.ElementTreeimportElement,tostring>>>manifest=Element('manifest')>>>manifest.text='&manifestName;'>>>tostring(manifest)返回一个转义的符号:'&man

c# - 通过访问无效元素在 C# 中通过 XSD 验证 XML

我想验证我的具有XSD架构的XML文件。我使用:varsettings=newXmlReaderSettings();settings.ValidationFlags=XmlSchemaValidationFlags.AllowXmlAttributes|XmlSchemaValidationFlags.ProcessIdentityConstraints|XmlSchemaValidationFlags.ProcessInlineSchema|XmlSchemaValidationFlags.ReportValidationWarnings;settings.ValidationTy

python - 使用 lxml 有效地计算非常大的 XML 文档中的元素

我有一个非常大(1.8GB)的XML文档。我想简单地找到带有标签的元素数量.我已经做到了:context=etree.iterparse('./test.xml',tag='Product')num_elems=0forevent,elemincontext:num_elems+=1printnum_elems它有效,但是有没有更快的方法呢? 最佳答案 因为这有效,我认为内存使用不是问题(iterparse将在内存中构建整个文件的树,除非您在迭代时修剪它要素)。在那种情况下,省去在Python中迭代和计数的麻烦,让LXML/libx